Amazon DynamoDB দুটি মূল pricing model অফার করে: On-Demand Capacity এবং Provisioned Capacity। প্রতিটি মডেলের জন্য বিভিন্ন প্রকারে চার্জ নেওয়া হয়, এবং আপনি আপনার অ্যাপ্লিকেশন বা ব্যবহারের ধরন অনুসারে যে মডেলটি বেছে নেবেন সেটি আপনার খরচ নির্ধারণ করবে।
1. On-Demand Capacity Mode
On-Demand Capacity Mode হল একটি পে-অ্যাজ-ইউ-গো মডেল, যেখানে আপনি আপনার ডেটাবেসের জন্য কোনো থ্রুপুট নির্ধারণ করেন না। DynamoDB স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশনটির ট্রাফিকের ভিত্তিতে থ্রুপুট (READ/WRITE) স্কেল করে। এটি তখনই কার্যকরী যখন আপনার ডেটাবেসের লোড অস্থির থাকে এবং আপনি প্রেডিক্ট করতে না পারেন কতটুকু থ্রুপুট প্রয়োজন হবে।
On-Demand Capacity Mode এর বৈশিষ্ট্য:
- No Provisioning Needed: আপনাকে Read/Write Capacity Units (RCU/WCU) নির্ধারণ করতে হয় না। DynamoDB স্বয়ংক্রিয়ভাবে থ্রুপুট বৃদ্ধি বা কমাতে সক্ষম।
- Pay for What You Use: আপনি যতটুকু ডেটা রিড এবং রাইট করেন, তার জন্য আপনাকে পে করতে হবে। অর্থাৎ, আপনি যে পরিমাণ অপারেশন করেছেন, তার জন্য খরচ হবে।
- Automatic Scaling: DynamoDB আপনার অ্যাপ্লিকেশন ট্রাফিকের জন্য প্রয়োজনীয় রিসোর্স নিজেই স্কেল করে নেয়। এটি কেবলমাত্র উচ্চ লোডের সময় রিসোর্স বাড়ায়, এবং কম লোডে সেটি কমিয়ে নেয়।
On-Demand এর খরচ:
- Read Requests: প্রতি মিলিয়ন রিড রিকোয়েস্টের জন্য নির্দিষ্ট খরচ।
- Write Requests: প্রতি মিলিয়ন রাইট রিকোয়েস্টের জন্য নির্দিষ্ট খরচ।
On-Demand Mode ব্যবহারের জন্য AWS একটি নির্দিষ্ট পরিমাণ খরচ নেবে প্রতি রিড এবং রাইট অপারেশনের উপর।
বিকল্প ব্যবহার:
- ছোট এবং ইররকম প্রেডিক্টেবল লোডের জন্য যেখানে ডেটাবেসের টেবিলের রিড এবং রাইটের পরিমাণ আগে থেকে জানা যায় না।
2. Provisioned Capacity Mode
Provisioned Capacity Mode আপনাকে আপনার ডেটাবেসের জন্য নির্দিষ্ট Read Capacity Units (RCU) এবং Write Capacity Units (WCU) নির্ধারণ করার সুযোগ দেয়। এটি অনুমানযোগ্য এবং নির্দিষ্ট লোডের জন্য উপযুক্ত। আপনি যদি জানেন আপনার ডেটাবেসে কতটা ট্রাফিক থাকবে এবং কত রিড এবং রাইট অপারেশন প্রয়োজন হবে, তাহলে Provisioned Capacity মোড একটি উপযুক্ত বিকল্প হতে পারে।
Provisioned Capacity Mode এর বৈশিষ্ট্য:
- Fixed Read and Write Capacity: আপনি একটি নির্দিষ্ট পরিমাণ RCU এবং WCU প্রিভিউ করতে হবে। DynamoDB সেই পরিমাণ ক্ষমতা বরাদ্দ করে এবং আপনার টেবিলের জন্য নির্দিষ্ট রিড এবং রাইট থ্রুপুট প্রোভাইড করে।
- Auto Scaling Support: আপনি যদি চান, DynamoDB Auto Scaling ফিচার অফার করে, যার মাধ্যমে RCU/WCU একে অপরের সঙ্গে সঠিকভাবে স্কেল করা যায়।
- Predictable Cost: আপনি যে পরিমাণ থ্রুপুট বরাদ্দ করেছেন, সে অনুযায়ী খরচ হবে। এটি নির্দিষ্ট ব্যবহার পরিস্থিতিতে ব্যাবহার করা হয় যেখানে ডেটাবেসের ট্রাফিক আগেই নির্ধারণ করা যায়।
Provisioned Mode এর খরচ:
- Read Capacity Units (RCUs): প্রতি সেকেন্ডে যত রিড অপারেশন করা হবে তার জন্য প্রাপ্ত টাকা।
- Write Capacity Units (WCUs): প্রতি সেকেন্ডে যত রাইট অপারেশন করা হবে তার জন্য প্রাপ্ত টাকা।
- Auto Scaling: যদি আপনি Auto Scaling ব্যবহার করেন, তবে আরো কিছু খরচ থাকতে পারে যদি RCU/WCU এর জন্য সীমা ছাড়ানো হয়।
Provisioned Mode এর উপকারিতা:
- স্টেবল ও প্রেডিক্টেবল লোড: যদি আপনার অ্যাপ্লিকেশনের লোড বেশ স্টেবল থাকে এবং আপনি আগে থেকেই জানেন কত থ্রুপুট প্রয়োজন, তাহলে এই মডেল উপযুক্ত।
Comparison: On-Demand vs Provisioned Capacity
| Feature | On-Demand Capacity | Provisioned Capacity |
|---|---|---|
| Capacity Provisioning | DynamoDB auto-scales based on demand. | You manually set the RCU and WCU. |
| Scaling | Automatic scaling without configuration. | Requires auto-scaling configuration or manual scaling. |
| Cost Model | Pay-per-request (read/write operations). | Pay for provisioned RCU/WCU, with optional auto-scaling. |
| Predictability | Costs are unpredictable. | Costs are more predictable with fixed capacity. |
| Usage Scenario | Ideal for unpredictable or variable workloads. | Ideal for predictable workloads with steady traffic. |
Summary:
- On-Demand Capacity: পে-অ্যাজ-ইউ-গো মডেল, যেখানে আপনি আপনার ডেটাবেসের কার্যকারিতা অনুযায়ী খরচ প্রদান করেন। এটি ক্ষণস্থায়ী এবং পরিবর্তনশীল ট্রাফিকের জন্য উপযুক্ত।
- Provisioned Capacity: আপনাকে নির্দিষ্ট থ্রুপুট বরাদ্দ করতে হয়, এবং এটি প্রেডিক্টেবল এবং কনস্ট্যান্ট ট্রাফিকের জন্য উপযুক্ত। Auto Scaling ব্যবহার করে থ্রুপুট পরিবর্তন করা সম্ভব।
আপনার ব্যবহারের ধরন অনুযায়ী, আপনি যে মডেলটি নির্বাচন করবেন তা আপনার DynamoDB ব্যবহারের খরচ এবং কার্যকারিতা প্রভাবিত করবে।
Read more